from base import *
from sqlalchemy import Date, Time, ForeignKey
from sqlalchemy.orm import relationship

class Historial(Base):
    """
    Clase que crea la tabla Historial
    """
    __tablename__ = 'historial'
    idproyecto    = Column(Integer, ForeignKey('proyecto.id'), primary_key=True)
    idfase        = Column(Integer, ForeignKey('fase.id'), primary_key=True)
    iditem        = Column(Integer, ForeignKey('item.id'), primary_key=True)
    idusuario     = Column(Integer, ForeignKey('usuario.id'), primary_key=True)
    fecha         = Column(Date, primary_key=True)
    hora          = Column(Time, primary_key=True)
    mensaje       = Column(Text, nullable=False)
    proyecto      = relationship("Proyecto")
    fase          = relationship("Fase")
    item          = relationship("Item")
    usuario       = relationship("Usuario")
    
    def __init__(self,idproyecto,idfase,iditem,idusuario,fecha,hora,mensaje):
        """
        Metodo de instancia constructor que inicializa los parametros del objeto Historial
        @type idproyecto: Integer
        @param idproyecto: id de proyecto.
        @type idfase: Integer
        @param idfase: id de fase.
        @type iditem: Integer
        @param iditem: id de item.
        @type idusuario: Integer
        @param idusuario: id de usuario.
        @type fecha: Date
        @param fecha: fecha de creacion del registro.
        @type hora: Time
        @param hora: hora de creacion del registro.
        @type mensaje: Text
        @param mensaje: mensaje del registro.
        """
        self.idproyecto = idproyecto
        self.idfase = idfase
        self.iditem = iditem
        self.idusuario = idusuario
        self.fecha = fecha
        self.hora = hora
        self.mensaje = mensaje
    
